package com.donfu.system.domain.house;

import java.util.Date;
import java.util.List;

import com.donfu.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.donfu.common.annotation.Excel;

/**
 * 评论信息对象 house_comment
 * 
 * @author donfu
 * @date 2021-12-01
 */
public class HouseComment extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键Id */
    private Long id;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 手机号码，需要脱敏 */
    @Excel(name = "手机号码，需要脱敏")
    private String userPhone;

    /** 用户头像 */
    @Excel(name = "用户头像")
    private String userHeadUrl;

    /** 商品Id */
    @Excel(name = "商品Id")
    private Long goodsId;

    /** 评论内容 */
    @Excel(name = "评论内容")
    private String content;

    /** 图片地址列表，采用JSON数组格式 */
    @Excel(name = "图片地址列表，采用JSON数组格式")
    private String picUrls;

    /** 点赞数量 */
    @Excel(name = "点赞数量")
    private Integer likeNum;

    /** 收藏数量 */
    @Excel(name = "收藏数量")
    private Integer collecNum;

    /** 状态（1评为精选 0原始评论） */
    @Excel(name = "状态", readConverterExp = "1=评为精选,0=原始评论")
    private Integer status;

    /** 评论时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "评论时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date dateTime;

    /** 评论上级Id */
    @Excel(name = "评论上级Id")
    private Integer parentId;

    /** 回复用户ID */
    @Excel(name = "回复用户ID")
    private Integer replyUserId;

    /** 回复时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "回复时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date replyDateIme;

    /** 回复用户名称 */
    @Excel(name = "回复用户名称")
    private String replyUserName;

    /** 回复用户用户头像 */
    @Excel(name = "回复用户用户头像")
    private String replyUserHeadUrl;

    /** 回复点赞数量 */
    @Excel(name = "回复点赞数量")
    private Integer replyLikeNum;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date updateDate;

    /** 备用字段 */
    @Excel(name = "备用字段")
    private String standby;


    /** 微信名称（用户表字段） */
    private String wxNickName;

    /* 点赞状态 （点赞表字段）*/
    private Long likeStatus;

    /** 收藏状态 （收藏表字段）*/
    private  Long collStatus;

    /** 商品名称（商品表字段） */
    private String productName;

    /** 开始价格（商品表字段） */
    private String startPrice;

    /** 商品图片（json格式，商品表字段） */
    private String bannerList;

    /** 二级评论集合 */
    private List<HouseComment> children;

    public List<HouseComment> getChildren() {
        return children;
    }

    public void setChildren(List<HouseComment> children) {
        this.children = children;
    }

    public String getWxNickName() {
        return wxNickName;
    }

    public void setWxNickName(String wxNickName) {
        this.wxNickName = wxNickName;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setUserPhone(String userPhone) 
    {
        this.userPhone = userPhone;
    }

    public String getUserPhone() 
    {
        return userPhone;
    }
    public void setUserHeadUrl(String userHeadUrl) 
    {
        this.userHeadUrl = userHeadUrl;
    }

    public String getUserHeadUrl() 
    {
        return userHeadUrl;
    }
    public void setGoodsId(Long goodsId) 
    {
        this.goodsId = goodsId;
    }

    public Long getGoodsId() 
    {
        return goodsId;
    }
    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }
    public void setPicUrls(String picUrls) 
    {
        this.picUrls = picUrls;
    }

    public String getPicUrls() 
    {
        return picUrls;
    }
    public void setLikeNum(Integer likeNum) 
    {
        this.likeNum = likeNum;
    }

    public Integer getLikeNum() 
    {
        return likeNum;
    }
    public void setCollecNum(Integer collecNum) 
    {
        this.collecNum = collecNum;
    }

    public Integer getCollecNum() 
    {
        return collecNum;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setDateTime(Date dateTime) 
    {
        this.dateTime = dateTime;
    }

    public Date getDateTime() 
    {
        return dateTime;
    }
    public void setParentId(Integer parentId) 
    {
        this.parentId = parentId;
    }

    public Integer getParentId() 
    {
        return parentId;
    }
    public void setReplyUserId(Integer replyUserId) 
    {
        this.replyUserId = replyUserId;
    }

    public Integer getReplyUserId() 
    {
        return replyUserId;
    }
    public void setReplyDateIme(Date replyDateIme) 
    {
        this.replyDateIme = replyDateIme;
    }

    public Date getReplyDateIme() 
    {
        return replyDateIme;
    }
    public void setReplyUserName(String replyUserName) 
    {
        this.replyUserName = replyUserName;
    }

    public String getReplyUserName() 
    {
        return replyUserName;
    }
    public void setReplyUserHeadUrl(String replyUserHeadUrl) 
    {
        this.replyUserHeadUrl = replyUserHeadUrl;
    }

    public String getReplyUserHeadUrl() 
    {
        return replyUserHeadUrl;
    }
    public void setReplyLikeNum(Integer replyLikeNum) 
    {
        this.replyLikeNum = replyLikeNum;
    }

    public Integer getReplyLikeNum() 
    {
        return replyLikeNum;
    }
    public void setCreateDate(Date createDate) 
    {
        this.createDate = createDate;
    }

    public Date getCreateDate() 
    {
        return createDate;
    }
    public void setUpdateDate(Date updateDate) 
    {
        this.updateDate = updateDate;
    }

    public Date getUpdateDate() 
    {
        return updateDate;
    }
    public void setStandby(String standby) 
    {
        this.standby = standby;
    }

    public String getStandby() 
    {
        return standby;
    }

    public Long getLikeStatus() {
        return likeStatus;
    }

    public void setLikeStatus(Long likeStatus) {
        this.likeStatus = likeStatus;
    }

    public Long getCollStatus() {
        return collStatus;
    }

    public void setCollStatus(Long collStatus) {
        this.collStatus = collStatus;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getStartPrice() {
        return startPrice;
    }

    public void setStartPrice(String startPrice) {
        this.startPrice = startPrice;
    }

    public String getBannerList() {
        return bannerList;
    }

    public void setBannerList(String bannerList) {
        this.bannerList = bannerList;
    }

    @Override
    public String toString() {
        return "HouseComment{" +
                "id=" + id +
                ", userId=" + userId +
                ", userPhone='" + userPhone + '\'' +
                ", userHeadUrl='" + userHeadUrl + '\'' +
                ", goodsId=" + goodsId +
                ", content='" + content + '\'' +
                ", picUrls='" + picUrls + '\'' +
                ", likeNum=" + likeNum +
                ", collecNum=" + collecNum +
                ", status=" + status +
                ", dateTime=" + dateTime +
                ", parentId=" + parentId +
                ", replyUserId=" + replyUserId +
                ", replyDateIme=" + replyDateIme +
                ", replyUserName='" + replyUserName + '\'' +
                ", replyUserHeadUrl='" + replyUserHeadUrl + '\'' +
                ", replyLikeNum=" + replyLikeNum +
                ", createDate=" + createDate +
                ", updateDate=" + updateDate +
                ", standby='" + standby + '\'' +
                ", wxNickName='" + wxNickName + '\'' +
                ", likeStatus=" + likeStatus +
                ", collStatus=" + collStatus +
                ", productName='" + productName + '\'' +
                ", startPrice='" + startPrice + '\'' +
                ", bannerList='" + bannerList + '\'' +
                ", children=" + children +
                '}';
    }
}
